
// #ifndef VUE3
import Vue from 'vue'
import App from './App'
import { $http } from '@escook/request-miniprogram'
import store from './store/store.js'

Vue.config.productionTip = false

App.mpType = 'app'

// 挂载到uni中
uni.$http = $http

// 配置请求根路径
$http.baseUrl = "http://api-ugo-web.itheima.net"

// 请求前的拦截器
$http.beforeRequest = function(options) {
  uni.showLoading({
    title: "正在加载中..."
  })
  // 如果用户已经登录过，并且请求url中存在 /my/ 说明用户正在创建订单，把请求头部参数 Authorization 设置
  if(options.url.indexOf('/my/') !== -1) {
    // options.header是一个对象来着，使用Object.assign拼接对象
    // options.header.Object.assign(options.header, {
    //   // 拿到vuex中m_user模块的state中的token属性
    //   Authorization: store.state.m_user.token
    // })
    options.header = {
      Authorization: store.state.m_user.token
    }
  }
}

// 请求完后的拦截器
$http.afterRequest = function(options) {
  uni.hideLoading()
}

// 封装提示消息方法
uni.$showMsg = function(title = "数据加载失败", duration = 1500) {
  uni.showToast({
    title,
    duration,
    icon: 'none'
  })
}

const app = new Vue({
    ...App,
    store
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import App from './App.vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif